#pragma once
#ifndef __G_DISK_H__
#define __G_DISK_H__

#include "GPlane.h"
#include "GVector3.h"
#include "GUtilities/GTypes.h"

namespace GMath
{
	class GDisk
	{
	public:
		float				Radius;
		GVector3			Center;
		GVector3			Normal;
	
							GDisk();
							GDisk(const GVector3& TheCenter, const GVector3& TheNormal, float TheRadius);

		void				Create(const GVector3& TheCenter, const GVector3& TheNormal, float TheRadius);

		float				Area() const;
		float				Circumference() const;

		GHalfSpaceResult	HalfSpace(const GVector3& Point);

		void				Convert(OUTPUT GPlane& Output, const GDisk& Disk);
	
	};

}


#endif